package test_pkg

import (
	"fmt"
)

// 数组 值类型 可以用 new 创建
func Test_array() {
	//初始化空数组
	var a1 [2]int
	var a2 [2]string
	fmt.Printf("a1 %T\n", a1)
	fmt.Printf("a1 %v\n", a1)
	fmt.Printf("a2 %T\n", a2)
	fmt.Printf("a2 %v\n", a2)

	//初始化数组并赋值
	a3 := [2]int{1, 2}
	fmt.Printf("a3 %v\n", a3)

	//申明变长数组 ... 表示省略长度
	a4 := [...]int{1, 5, 4}
	fmt.Printf("a4 %v\n", a4)

	//new 创建
	var a5 = new([2]int)
	fmt.Printf("a5 %T\n", a5)
	//a5 是指针
	a6 := *a5
	a6[1] = 100
	fmt.Printf("a5 %v\n", a5)
	fmt.Printf("a6 %v\n", a6)

	//获取地址
	a7 := &a6
	a7[0] = 11
	fmt.Printf("a5 %v\n", a5)
	fmt.Printf("a6 %v\n", a6)
	fmt.Printf("a7 %v\n", a7)

	var a8 = [3]int{1, 2, 3}
	fmt.Printf("a8 %v\n", a8)
}
